---
title: Dynamic claim list generation
summary: Executes a caller-supplied SQL statement to build an ad-hoc claim list.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Business.Claim
reference_type: embedded
operation_id: claim-list-generation
trigger: Caller invokes GetClaimListCollection(dataPortalInfo, sqlStatement, id[, requestId])
---

# Dynamic claim list generation

Executes an entire SQL statement supplied by the caller to build a configurable claim list, mapping result columns through caller-configurable alias properties.

| Field | Value |
| --- | --- |
| **Operation ID** | claim-list-generation |
| **Trigger** | Caller invokes `clsClaimListGenerator.GetClaimListCollection(dataPortalInfo, sqlStatement, id[, requestId])` |
| **Inputs** | Caller-supplied SQL statement text, ID |
| **Outputs** | Claim-list rows mapped via configurable alias properties |
| **Primary components** | `clsClaimListGenerator.GetClaimListCollection` |
| **Entry point** | SAIF.Business.Claim/clsClaimListGenerator.vb |

## Steps

1. Caller supplies the complete SQL statement text and a single ID value.
2. Every `IBusinessCriteria` SQL property (`CreateSQL`, `RetrieveSQL`, `InsertSQL`, `UpdateSQL`, `DeleteSQL`) throws `ApplicationException(clsConstants.Messages.InvalidSQLProperty)` — execution instead uses `Criteria.SQLStatement` directly ([SQL-019](../sql/SQL-019.md)).
3. A single `:ID` bind parameter is applied to the caller-supplied statement.
4. Result columns are mapped through configurable alias properties: `ClaimIDSQLItem`, `ClaimNumberSQLItem`, `ClaimChkCharValueSQLItem`, `WorkerIDSQLItem`.
5. The mapped rows are returned as a claim-list collection to the caller.

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start(["GetClaimListCollection<br>called"]) --> Supply["Caller supplies SQL text +<br>ID"]
	Supply --> Bind[Bind :ID parameter]
	Bind --> Execute["Execute<br>Criteria.SQLStatement"]
	Execute --> Map["Map result columns via alias<br>properties"]
	Map --> Return([Return claim-list collection])
```

## Failure and edge-case behavior
- The SQL statement and key are supplied entirely by the caller; column names are configurable. This is a SQL-injection and maintainability risk whose actual exposure depends on callers, none of which exist in this repository.*
- All five `IBusinessCriteria` properties throw if invoked directly, so any caller attempting standard BOF create/retrieve/update/delete semantics on this class will fail immediately.

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [SQL catalog](../sql/index.md)
- [Database tables](../database-tables.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- SAIF.Business.Claim/clsClaimListGenerator.vb
